// pages/addressList/addressList.js
Page({
    data: {
      addressList: [],
    },
  
    onLoad(options) {
      // 页面加载时，从缓存中获取地址列表
      this.loadAddressList();
    },
  
    /**
     * 从本地缓存加载地址列表
     */
    loadAddressList() {
      const addressList = wx.getStorageSync('addressList') || [];
      this.setData({
        addressList: addressList
      });
    },
  
    /**
     * 选择一个地址，返回上一页
     */
    onSelectAddress(e) {
      const addressId = e.currentTarget.dataset.id;
      const selectedAddress = this.data.addressList.find(item => item.id == addressId);
  
      if (selectedAddress) {
        // 通过页面栈，将选中的地址回传给上一页（通常是订单页）
        const pages = getCurrentPages();
        const prevPage = pages[pages.length - 2];
        if (prevPage) {
          // 调用上一页的 setAddress 方法来更新数据
          prevPage.setData({
            'orderData.address': selectedAddress
          });
          // 返回上一页
          wx.navigateBack({
            delta: 1
          });
        }
      }
    },
  
    /**
     * 跳转到添加地址页面
     */
    onAddAddress() {
      wx.navigateTo({
        url: '/pages/business/addressAdd/addressAdd'
      });
    },
  
    /**
     * 跳转到编辑地址页面
     */
    onEditAddress(e) {
      const addressId = e.currentTarget.dataset.id;
      wx.navigateTo({
        url: `/pages/addressAdd/addressAdd?addressId=${addressId}`
      });
    },
  
    /**
     * 页面卸载前，再次加载地址列表，确保数据是最新的
     * 这是为了处理从编辑/添加页面返回时，列表能及时刷新
     */
    onShow() {
      this.loadAddressList();
    }
  });